1. Field of the Invention
This invention relates to data transfer methodologies between devices and, more particularly, to management of packetized data transfers.
2. Description of the Related Art
Various systems transfer data between devices in data packets. For example, a data acquisition system may implement packetized data transfer methodologies between a data acquisition device and a host computer via USB. Also, in a local area network, a first computer system may transfer data packets to a second computer system via Ethernet.
In a data acquisition system, a data acquisition device may transfer a data packet to a host computer after it has acquired a predetermined number of data bytes. The data acquisition device may accumulate the acquired data in an acquisition buffer until it can transmit a data packet having the predetermined number of data bytes. For example, the data acquisition device may send data packets of 512 bytes to the host computer. The host computer may store the data received from the data acquisition device to provide the data to a user for data analysis.
In some cases, a user may request the data acquisition system to acquire a specific amount of data for analysis. As described above, the data acquisition device typically accumulates acquired data until it can send a data packet having a predetermined number of data bytes. In various instances, the aggregation of data in the acquisition buffer may introduce latency in the acquisition operation, which may reduce the responsiveness of the system. For example, the last few bytes of the requested data may have been acquired and stored in the acquisition buffer, but the data acquisition device may not send the requested data to the host computer until the predetermined number of bytes have been acquired. In this example, the user may have to wait a significant amount of time, especially if the speed of the data acquisition is slow. Also, the latency may be significant if the data acquisition is bursty. Furthermore, during this period of time, the host computer may waste processing power if it continuously polls the data acquisition device for the requested data when it is not available. Once the host computer receives the request data from the data acquisition device, the data may be aggregated once again in a receive buffer of the host computer, which may introduce additional latency into the acquisition operation and further reduce the responsiveness of the system.